package modelo;

import java.io.File;
import java.io.Serializable;

/**
 * Esta clase representa el mensaje que utilizan cliente-servidor para comunicarse
 *
 * @author Manuel Figueroa Recio
 */

public class Mensaje implements Serializable {

    private String remitente; // Quien envia el mensaje
    private String tipo;      // privado,a todos, de control. ¿Archivo?
    private String destino; // Destinatarios del mensaje
    private String mensaje;   // El mensaje propiamente dicho.
    private String color;     // Color del mensaje
    private File archivo;     // Archivo


    public Mensaje(){
        this.archivo = null;
    }

    /**
     * @return String del remitente del mensaje
     */
    public String getRemitente() {
        return remitente;
    }

    /**
     * @param remitente Cadena que contiene el nombre del remitente del mensaje
     */
    public void setRemitente(String remitente) {
        this.remitente = remitente;
    }

    /**
     * @return String del tipo de mensaje del objeto
     */
    public String getTipo() {
        return tipo;
    }

    /**
     * @param tipo El tipo del mensaje (unicast,multicast..etc)
     */
    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    /**
     * @return String[] con todos los destinatarios.
     */
    public String getDestino() {
        return destino;
    }

    /**
     * @param destino String[] con los nombres de los destinatarios
     */
    public void setDestino(String destino) {
        this.destino = destino;
    }

    /**
     * @return String el mensaje escrito
     */
    public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje String con el mensaje a enviar
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    /**
     * @return File - Retorna el archivo tipo File
     */
    public File getArchivo() {
        return archivo;
    }

    /**
     * @param archivo File del archivo a enviar
     */
    public void setArchivo(File archivo) {
        this.archivo = archivo;
    }

    /**
     * @return the color
     */
    public String getColor() {
        return color;
    }

    /**
     * @param color the color to set
     */
    public void setColor(String color) {
        this.color = color;
    }
}
